package cn.com.cpic.insurance.rulecheck.core.rule;

import cn.com.cpic.insurance.rulecheck.core.ModifiableSet;
import cn.com.cpic.insurance.rulecheck.core.Operatable;
import cn.com.cpic.insurance.rulecheck.core.Tokenable;

/**
 * 规则，包含对bom的设置操作，以及一系列关联的规则消费程序
 * 
 * @author 代波
 * @since 2011-8-21
 */
public interface Rule extends Tokenable<String>, Operatable<Boolean> {
	/**
	 * 获得与规则相关的规则消费程序集合
	 * 
	 * @return 规则消费程序集合
	 */
	ModifiableSet<RuleConsumer<?>> getRuleConsumerSet();

	/**
	 * 获得规则的可读描述信息
	 * 
	 * @return 规则的可读描述信息
	 */
	String getDesc();
}
